#pragma once
#include <opencv2/opencv.hpp>
constexpr int BLUE = 0;
constexpr int RED = 1;
using namespace std;

class RuneDetect
{
private:
    bool _is_recorded;
    int _color;
    bool _is_continuous;
    cv::VideoWriter writer;
    void target_predict(cv::Mat &src, cv::Point2f target, cv::Point2f center);
    
public:
    RuneDetect();

    /**
     * @brief 初始化写入视频判断参数
     * 
     * @param is_recorded 写入视频判断参数
     */
    RuneDetect(bool is_recorded);

    /**
     * @brief Construct a new Rune Detect object
     * 
     * @param is_recorded 写入视频判断参数
     * @param color 灯条颜色设置，进行单一通道的颜色增强
     * @param is_continuous 连续或逐帧播放模式参数
     */
    RuneDetect(bool is_recorded, int color, bool is_continuous);
    

    /**
     * @brief 视频帧的图像处理
     * 
     * @param video_path 视频路径
     * @return 运行信息
     */
    int ImageProcess(string video_path);
    ~RuneDetect();
};

